#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
bool row[15][15];
bool col[15][15];
bool ge[15][15];
char map[15][15];
int mp[15][15];
int t;
void init(){
    memset(row,false,sizeof(row));
    memset(col,false,sizeof(col));
    memset(ge,false,sizeof(ge));
    memset(mp,'\0',sizeof(mp));
}
bool dfs(int i,int j){
    //9行已经完成
    if(i==9){
        return true;
    }
    bool flag=false;
    //已有数字，搜索下一个位置
    if(mp[i][j]){
        if(j==8){
            //下一行
            flag=dfs(i+1,0);
        }
        else{
            //往右
            flag=dfs(i,j+1);
        }
        //回溯
        if(flag){
            return true;
        }
        else{
            return false;
        }
    }
    //没有数字
    else{
        int k=(i/3)*3+(j+3)/3;
        for(int t=1;t<=9;t++){
            if(!row[i][t] && !col[j][t] && !ge[k][t]){
                mp[i][j]=t;
                row[i][t]=true;
                col[j][t]=true;
                ge[k][t]=true;
                //判断是否换行
                if(j==8){
                    flag=dfs(i+1,0);
                }
                else{
                    flag=dfs(i,j+1);
                }
                //回溯
                if(!flag){
                    //搜索失败，重置
                    mp[i][j]=0;
                    row[i][t]=false;
                    col[j][t]=false;
                    ge[k][t]=false;
                }
                else{
                    return true;
                }
            }
        }
    }
    return false;
}
int main(void){
    //freopen("data.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    scanf("%d",&t);
    while(t--){
        init();
        for(int i=0;i<9;i++){
            scanf("%s",map[i]);
            for(int j=0;j<9;j++){
                mp[i][j]=map[i][j]-'0';
                if(mp[i][j]){
					row[i][mp[i][j]]=true;
					col[j][mp[i][j]]=true;
					ge[(i/3)*3+(j+3)/3][mp[i][j]]=true;
                }
            }
        }
        dfs(0,0);
        for(int i=0;i<9;i++){
            for(int j=0;j<9;j++){
                printf("%d",mp[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}
